# coding: utf-8
'''
describe：自动取款机的存取款模拟效果
author：陈力川
date：2018-10-13
'''
# 初始化变量，存储用户名和密码
user_info = {'zhangsan': '333333',
             'lisi': '444444',
             'wangwu': '555555',
             'zhaoliu': '666666'
             }


# 初始化变量，用于存储用户余额
user_money = {'zhangsan': 5000,
              'lisi': 8888,
              'wangwu': 2678,
              'zhaoliu': 880000
              }
# 银行存取系统函数
def bank():
    while True:
        print('=' * 12, '银行存取系统', '=' * 12)
        print('{0:1} {1:10} {2:10}'.format(' ', '1. 余额查询', '2. 存款服务'))
        print('{0:1} {1:10} {2:10}'.format(' ', '3. 取款服务', '4. 退出系统'))
        print('=' * 38)
        key = input('请选择您所需要的服务： ')
        if key=='1':
            print('='*12,'余额查询','='*12)
            print('您的余额为：{}'.format(user_money[user_name]))
            input('按回车键继续：')
        elif key=='2':
            print('='*12,'存款服务','='*12)
            deposit = int(input('请输入您的存款金额： '))
            user_money[user_name] = user_money[user_name] + deposit # 修改用户余额
            print('您的当前余额为：{}'.format(user_money[user_name]))
            input('按回车键继续：')
        elif key=='3':
            print('='*12,'取款服务','='*12)
            withdrawal = int(input('请输入您的取款金额： '))
            if user_money[user_name] < withdrawal: # 判断余额是否大于取款金额
                print('您当前余额不足！')
            else:
                user_money[user_name] = user_money[user_name] - withdrawal
                print('您的当前余额为：{}'.format(user_money[user_name]))
            input('按回车键继续：')
        elif key=='4':
            print('='*14,'再 见','='*14)
            break
        else:
            print('请输入1~4来选择对应的服务！')

print('='*12,'欢迎登陆XX银行','='*12)
while True:
    user_name = input('请输入用户名： ')
    user_pw = input('请输入密码： ')

    if user_name in user_info.keys(): # 判断用户名是否存在
        if user_pw == user_info[user_name]: # 判断密码是否正确
            bank() # 进入银行存取系统
            break
        else:
            print('密码错误！')
    else:
        print('用户名不存在！')